/**
 * 需求相关API接口
 */

import request from '../utils/request'
import { API_PATHS } from './config'

const requirementApi = {
  /**
   * 发布需求
   * @param {Object} requirementDto - 需求数据
   * @param {number} requirementDto.tutoringItem - 辅导项目 1论文 2作业 3保研 4考研 5其他
   * @param {number} requirementDto.studyStage - 学习阶段 1本科 2硕士 3博士
   * @param {number} requirementDto.studyPlace - 学习场所 1国内 2国外
   * @param {string} requirementDto.studySchool - 学习学校
   * @param {string} requirementDto.studyMajor - 学习专业
   * @param {number} requirementDto.budgetMin - 最低预算
   * @param {number} requirementDto.budgetMax - 最高预算
   * @param {number} requirementDto.teacherLevel - 老师学历 1本科 2硕士 3博士 4高校老师
   * @param {number} requirementDto.teacherAbroad - 老师是否留学 1是 2不要求
   * @param {string} requirementDto.requirementText - 需求描述
   * @param {string} requirementDto.comment - 备注说明
   * @returns {Promise} 发布结果
   */
  addRequirement(requirementDto) {
    return request.post(API_PATHS.REQUIREMENT.ADD, requirementDto)
  },

  /**
   * 编辑需求
   * @param {number} requirementId - 需求ID
   * @param {Object} requirementDto - 需求数据
   * @param {number} requirementDto.tutoringItem - 辅导项目
   * @param {number} requirementDto.studyStage - 学习阶段
   * @param {number} requirementDto.studyPlace - 学习场所
   * @param {string} requirementDto.studySchool - 学习学校
   * @param {string} requirementDto.studyMajor - 学习专业
   * @param {number} requirementDto.budgetMin - 最低预算
   * @param {number} requirementDto.budgetMax - 最高预算
   * @param {number} requirementDto.teacherLevel - 老师学历
   * @param {number} requirementDto.teacherAbroad - 老师是否留学
   * @param {string} requirementDto.requirementText - 需求描述
   * @param {string} requirementDto.comment - 备注说明
   * @returns {Promise} 编辑结果
   */
  editRequirement(requirementId, requirementDto) {
    return request.post(API_PATHS.REQUIREMENT.EDIT + '?requirementId=' + requirementId, requirementDto)
  },

  /**
   * 查询需求详情
   * @param {number} id - 需求ID
   * @returns {Promise} 需求详情
   */
  getRequirement(id) {
    return request.get(API_PATHS.REQUIREMENT.GET, { id })
  },

  /**
   * 老师端首页-需求列表
   * @param {Object} params - 查询参数
   * @param {number} params.current - 当前页码
   * @param {number} params.size - 每页数量
   * @param {number} params.tutoringItem - 辅导项目（可选）
   * @returns {Promise} 需求列表数据
   */
  getRequirementPage(params) {
    return request.get(API_PATHS.REQUIREMENT.PAGE, params)
  }
}

export default requirementApi
